#pragma once

class HeartbeatChecker
{
public:
	HeartbeatChecker(void);
	~HeartbeatChecker(void);

	VOID		Init( DWORD dwHeartbeatTick, int iAllowableTickDiff, DWORD dwResetCycleTick );
	VOID		Reset();
	BOOL		Signal();

private:

	DWORD		m_dwHeartbeatTick;
	int			m_iAlloableTickDiff;
	DWORD		m_dwResetCycleTick;
	DWORD		m_dwPrevSignalTick;
	int			m_iCumulativeTickDiff;
	BOOL		m_bFirstSignaled;
	DWORD		m_dwFirstSignaledTick;
};
